{ lib, ... }:
{
  options.submodule = lib.mkOption {
    type = lib.types.submoduleWith {
      modules = [
        (
          { lib, ... }:
          {
            options.foo = lib.mkOption {
              default = lib.foo;
            };
          }
        )
      ];
      specialArgs.lib = lib // {
        foo = "foo";
      };
    };
    default = { };
  };
}
